Method and apparatus for optimizing video processing system design using a probabilistic method to fast direct local search

ABSTRACT

A method and apparatus for obtaining an optimum video processing system design, includes the steps of:(a) performing a hybrid method including: (i) using genetic algorithms to find video sample candidates having a best chromosome for performance and associated fitness values; and (ii) using a probabilistic method to find local optima based on the fitness values from step (a)(i) in a local search scheme. The results of the probabilistic method are then reinserted into genetic algorithms to increase speed and reduce the processing requirements if only genetic algorithms were used. The results obtained from the genetic algorithms using the local optima found by the probabilistic method may then be output to one of a video processing system and video module. Hardware for an apparatus and system to perform same includes a video source input, a processor, a genetic algorithm module, a probabilistic search module, a memory and at least one video module.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention is related to optimizing a video processing system design, and methods for obtaining such systems. More particularly, the present invention is related to the design of such systems using a probabilistic method.

[0003] 2. Description of the Related Art

[0004] Video processing systems are composed of a large number of video modules that interact together to reach the best picture quality. There is a great degree of difficulty deciding on the best setting for each module. In fact, there is no formal method for validating the correctness of the module settings. Rather, system designers used ad-hoc techniques and their own experience to tune the video modules. As more recent hardware paradigms permit many different architectural structures, there are more possibilities for connectivity. Thus, there is more freedom to decide on the best connectivity scheme.

[0005] A method has been proposed for solving the problem regarding video module settings in a formal manner by using genetic algorithms (GAs) as an evolutionary framework for optimizing video processing systems. Genetic algorithms, which can be used to evaluate video quality, that may or may not be part of a feedback system in which video quality is enhanced has been previously proposed by the present inventor in U.S. application Ser. 09/817,891 entitled “A General Scheme for Diffusing Different Implementations of a Number of Video Algorithms in an Optimum Way for Best Objective Video Quality (Filed Mar. 27, 2001) and U.S. application Ser. 09/734,823 entitled “A Scalable Dynamic Metric for Automatic Evaluation of Video Quality” (Filed Dec. 12, 2000), the contents of both application are hereby incorporated by reference as background material.

[0006] Genetic Algorithms are based on the concept that diversity of the gene pool helps to ensure a population's survival under changing circumstances. GA procedures are iterative and maintain a population of candidate solutions in a form of chromosome strings. An initial population can be selected randomly or heuristically. For each generation, the candidates are evaluated and subsequently assigned a fitness value, and selected for reproduction in a subsequent generation based on fitness values.

[0007] Accordingly, GA's are computationally greedy methods requiring substantial processing power capabilities. As a result there have been attempts to use hybrid search engines of GA's and less-complicated search engines.

[0008] However, there is still a need in the art to improve video processing system design beyond its current state.

SUMMARY OF THE INVENTION

[0009] The present invention provides a process and apparatus for providing video processing system design wherein there is a modeling of different states of at which the system tuning may be used as a search space. As the search space is too large to explore exhaustively, an aspect of the present invention includes using a probabilistic method to gear a local search method toward the local optimum faster, based on the probability pattern of the best samples in the local neighborhood of the search space. The best samples from the probability pattern are subsequently re-inserted to Genetic Algorithms for crossover and mutation. Thus, a new method that is a hybridization to extract the best features of GA's (e.g. not getting stuck at the local optima) and a probabilistic local search (finding the best local optima rapidly). Thus, the present invention finds the local optimum faster than if only Genetic Algorithms were used.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010]FIGS. 1A and 1B are a flowchart providing an overview of a method according to the present invention.

[0011]FIG. 2 is a table that illustrates recent best sample chromosomes.

[0012]FIG. 3 illustrates a block diagram of one embodiment of an apparatus according to the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0013] It is to be understood by persons of ordinary skill in the art that the use of GAs introduces variability on the solutions while preserving the “goodness” (aka fitness) of the best solution attained in a population by crossover and mutation. A solution is represented by a binary pattern referred to as a chromosome. For example, if a problem's solution is represented by a chromosome consisting of k bits. As the GAs improve by testing a whole set of samples in one generation (population), the population of sample can then be sorted by performance.

[0014]FIGS. 1A and 1B are a flowchart illustrating an overview of the present invention.

[0015] At step 100, genetic algorithms are used to find video sample candidates having the best chromosome for performance.

[0016] At step 105, the best chromosome is stored in a memory device. The associated fitness value f is also stored for each chromosome.

[0017] Step 110 includes repeating steps 100 and 105 until either a predetermined number of passes, generations and/or fitness score criteria has been reached. Assuming that the first pass is at time=t, and the next generation is t+1, the threshold may be t+n and have fitness values f₀, f₁ to f_(n).

[0018]FIG. 2 shows a table illustrating one way that the information from steps 100 to 110 could be represented. The chromosome for each generation (t) is from k bits in length. The associated fitness value is also illustrated.

[0019] At step 115, there is the use of a probabilistic method to find local optima based on the values stored in memory from step 105. This step is type of hybridization away from the more “greedy” computing methods of GAs used in the first steps to a faster local direct search to obtain the best local optima rapidly. A vector is constructed using the assumption that GA's evolve toward the best solution: ${{\overset{\_}{P}}_{t + n} = \left\lbrack {P_{l}\left( {t + n} \right)} \right\rbrack},$

where (0<l<K+1, l is an integer)  eqn (1);

[0020] and $\begin{matrix} {{{P_{l}\left( {t + n} \right)} = \frac{\sum\limits_{t}^{t + n}\quad {{BIT}_{l} \times f_{1}}}{n{\sum\limits_{1}^{t + n}f_{1}}}};} & {{eqn}.\quad (2)} \end{matrix}$

[0021] The vector {overscore (P)}_(t+n) is a vector of probability, whos dimension is k, which indicates the probability of any bit l to be of value equals 1 in the local best chromosome. The probability of any bit l (0<l<k+1, l is an integer) equals l at time t+n is P_(l) (t+n) and is defined as the normalized sum of the weighted product of this bit's value (1 or 0) by the chromosomes fitness of the past n generations.

[0022] Thus, at time t+n, we have the probability vector P_(t+n), we can withdraw a binary chromosome with the probability of any bit (bit l, 0<l<k+1, l is an integer), and equation 1 is dictated by the probability of this bit as described in the vector P_(t+n).

[0023] At step 120, there is an insertion of local optima values from a probabilistic method as discussed above into the genetic algorithms for performing crossover and mutation.

[0024] Finally, at step 125, the values from the process are provided to one of a video processing system and/or video module so as to optimize design.

[0025]FIG. 3 illustrates an apparatus and/or system for obtaining the optimum video processing design according to the present invention. A video source 302 is received by processor 305. Genetic Algorithms can be performed by Genetic Algorithm module 310, and local optima can be provided by the probabilistic search module 320. It is also possible that the G.A. module 310 and the probabilistic search module are a single module. The chromosomes from t to t+n are stored in memory 315, as is the fitness values f. After the probabilistic search module 320 provides local optima, these values may be provided back to G.A. module 310. After further processing (i.e. crossover and mutation), video modules 325, 330 can receive optimized parameters. It should be understood by persons of ordinary skill in the art that the number of video modules can be more or less than two.

[0026] Various modifications can be made by a person of ordinary skill in the art that do not depart from the spirit of the invention, or the scope of the appended claims. 

What is claimed is:
 1. A method for obtaining an optimum video processing system design, comprising the steps of: (a) performing a hybrid method comprising: (i) using genetic algorithms to find video sample candidates having a best chromosome for performance and associated fitness values; and (ii) using a probabilistic method to find local optima based on the fitness values from step (a) (i) in a local search scheme; (b) providing results obtained in step (a) (ii) for further processing by genetic algorithms; (c) providing results obtained in step (b) to one of a video processing system and video module.
 2. A method for obtaining an optimum video processing system design, comprising the steps of: (a) using genetic algorithms to find video sample candidates having a best chromosome for performance; (b) storing the best chromosome found in step (a) and an associated fitness value in a memory; (c) repeating steps (a) and (b) to obtain a plurality of chromosomes for one of (i) a predetermined number of times and (ii) a predetermined fitness value; (d) using a probabilistic method to find local optima based on the fitness values stored in memory in step (b); (e) inserting local optima values into the memory; and (f) performing genetic algorithms using the local optima values obtained in step (e).
 3. The method according to claim 2, further comprising providing the values obtained in step (e) to one of a video module and video processing module.
 4. The method according to claim 2, wherein the probabilistic method includes building a probability vector according to the following equations: ${{\overset{\_}{P}}_{t + n} = \left\lbrack {P_{l}\left( {t + n} \right)} \right\rbrack},$

where (0<l<K+1, l is an integer) and ${{P_{l}\left( {t + n} \right)} = \frac{\sum\limits_{t}^{t + n}\quad {{BIT}_{l} \times f_{1}}}{n{\sum\limits_{1}^{t + n}f_{1}}}};$

wherein the vector {overscore (P)}_(t+n) is a vector of probability, whose dimension is k, and indicates the probability of any bit l to be of value equals 1 in the local best chromosome, and the probability of any bit l (0<l<k+1, l is an integer) equals l at time t+n is P_(l) (t+n) and is defined as a normalized sum of a weighted product of said any bit's value (1 or 0) by the chromosomes fitness of the past n generations.
 5. The method according to claim 4, wherein the probability vector includes values of a predetermined number of recent video processing solutions having the highest fitness values.
 6. A device for obtaining an optimum video processing system design, comprising: a video source input; a processor communicating with the video source input; a genetic algorithm module and a probabilistic search module for conducting respective genetic algorithms and probabilistic searches; a memory communicating with the processor and genetic algorithm module and probabilistic search module for storing respective values of chromosomes and associated fitness values; wherein the probabilistic search module retrieves data from the memory stored by the genetic algorithm module and performs searches to obtain local optima, results of which are stored in the memory for further processing by the genetic algorithm modules.
 6. The apparatus according to claim 5, wherein the processor further comprises output means for providing optimum parameters to at least one video module.
 7. The apparatus according to claim 6, wherein the probabilistic search module performs a search according to the following equations: ${{\overset{\_}{P}}_{t + n} = \left\lbrack {P_{l}\left( {t + n} \right)} \right\rbrack},$

where (0<l<K+l, l is an integer) and ${{P_{l}\left( {t + n} \right)} = \frac{\sum\limits_{t}^{t + n}\quad {{BIT}_{l} \times f_{1}}}{n{\sum\limits_{1}^{t + n}f_{1}}}};$

wherein vector {overscore (P)}_(t+n) is a vector of probability, whose dimension is k, and indicates the probability of any bit l to be of value equals 1 in the local best chromosome, and the probability of any bit l (0<l<k+1, l is an integer) equals l at time t+n is P_(l) (t+n) and is defined as a normalized sum of a weighted product of said any bit's value (1 or 0) by the chromosomes fitness of the past n generations.
 8. A system for obtaining optimum video processing design, comprising: means for performing a hybrid method for optimization by: (i) using genetic algorithms to find video sample candidates from a video source 302 having a best chromosome for performance and associated fitness values; and (ii) using a probabilistic method to find local optima based on the fitness values from step (a) (i) in a local search scheme; means for providing results obtained in step (a) (ii) for further processing by genetic algorithms; and means for providing results obtained in step (b) to one of a video processing system and video module.
 9. A system method for obtaining an optimum video processing system design, comprising: genetic algorithms means for finding video sample candidates having a best chromosome for performance; storage means for storing the best chromosome found by the genetic algorithm means, and for storing an associated fitness value in a memory; means for providing a probabilistic search to find local optima based on the fitness values stored in said storage means); means for inserting local optima values into the memory; and said genetic algorithms means using the local optima values obtained by the means for providing a probabilistic search.
 10. The system according to claim 9, wherein said genetic algorithm means provides the values obtained using the local optima values obtained by the probabilistic search means to one of a video module and video processing module.
 11. The method according to claim 9, wherein the means for providing a probabilistic search builds a probability vector according to the following equations: ${{\overset{\_}{P}}_{t + n} = \left\lbrack {P_{l}\left( {t + n} \right)} \right\rbrack},$

where (0<l<K+1, l is an integer) and ${{P_{l}\left( {t + n} \right)} = \frac{\sum\limits_{t}^{t + n}\quad {{BIT}_{l} \times f_{1}}}{n{\sum\limits_{1}^{t + n}f_{1}}}};$

wherein the vector {overscore (P)}_(t+n) is a vector of probability, whose dimension is k, and indicates the probability of any bit l to be of value equals 1 in the local best chromosome, and the probability of any bit l (0<l<k+1, l is an integer) equals l at time t+n is P_(l) (t+n) and is defined as a normalized sum of a weighted product of said any bit's value (1 or 0) by the chromosomes fitness of the past n generations. 